BitOhenry

[ONOS-3414] Add arp_sha operation to provider of openflow

Change-Id: I3c318ca1e52b6b6291026fc8fd54782cb521ee2b
...@@ -707,12 +707,15 @@ public class FlowEntryBuilder { ...@@ -707,12 +707,15 @@ 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_SHA:
711 + mac = MacAddress.valueOf(match.get(MatchField.ARP_SHA).getLong());
712 + builder.matchArpSha(mac);
713 + break;
710 case ARP_THA: 714 case ARP_THA:
711 mac = MacAddress.valueOf(match.get(MatchField.ARP_THA).getLong()); 715 mac = MacAddress.valueOf(match.get(MatchField.ARP_THA).getLong());
712 builder.matchArpTha(mac); 716 builder.matchArpTha(mac);
713 break; 717 break;
714 case ARP_OP: 718 case ARP_OP:
715 - case ARP_SHA:
716 case ARP_SPA: 719 case ARP_SPA:
717 case ARP_TPA: 720 case ARP_TPA:
718 case MPLS_TC: 721 case MPLS_TC:
......
...@@ -417,13 +417,17 @@ public abstract class FlowModBuilder { ...@@ -417,13 +417,17 @@ public abstract class FlowModBuilder {
417 mplsBos.mplsBos() ? OFBooleanValue.TRUE 417 mplsBos.mplsBos() ? OFBooleanValue.TRUE
418 : OFBooleanValue.FALSE); 418 : OFBooleanValue.FALSE);
419 break; 419 break;
420 + case ARP_SHA:
421 + arpHaCriterion = (ArpHaCriterion) c;
422 + mBuilder.setExact(MatchField.ARP_SHA,
423 + MacAddress.of(arpHaCriterion.mac().toLong()));
424 + break;
420 case ARP_THA: 425 case ARP_THA:
421 arpHaCriterion = (ArpHaCriterion) c; 426 arpHaCriterion = (ArpHaCriterion) c;
422 mBuilder.setExact(MatchField.ARP_THA, 427 mBuilder.setExact(MatchField.ARP_THA,
423 MacAddress.of(arpHaCriterion.mac().toLong())); 428 MacAddress.of(arpHaCriterion.mac().toLong()));
424 break; 429 break;
425 case ARP_OP: 430 case ARP_OP:
426 - case ARP_SHA:
427 case ARP_SPA: 431 case ARP_SPA:
428 case ARP_TPA: 432 case ARP_TPA:
429 case MPLS_TC: 433 case MPLS_TC:
......